<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mipicsiss: Csiss_v1_0</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mipicsiss
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__csiss__v1__0.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Csiss_v1_0</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_csi_rx_ss_sub_core.html">CsiRxSsSubCore</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub-Core Configuration Table.  <a href="struct_csi_rx_ss_sub_core.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csi_ss___config.html">XCsiSs_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">MIPI CSI Rx Subsystem configuration structure.  <a href="struct_x_csi_ss___config.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_csi_ss.html" title="The XCsiSs driver instance data. ">XCsiSs</a> driver instance data.  <a href="struct_x_csi_ss.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga9336fefaf232506ab252cf09c6c8a5b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga9336fefaf232506ab252cf09c6c8a5b9">XCSISS_H_</a></td></tr>
<tr class="memdesc:ga9336fefaf232506ab252cf09c6c8a5b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent circular inclusions by using protection macros.  <a href="#ga9336fefaf232506ab252cf09c6c8a5b9">More...</a><br /></td></tr>
<tr class="separator:ga9336fefaf232506ab252cf09c6c8a5b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49562e2263761ef244fa20e718e67655"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga49562e2263761ef244fa20e718e67655">XCSISS_HW_H_</a></td></tr>
<tr class="memdesc:ga49562e2263761ef244fa20e718e67655"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent circular inclusions by using protection macros.  <a href="#ga49562e2263761ef244fa20e718e67655">More...</a><br /></td></tr>
<tr class="separator:ga49562e2263761ef244fa20e718e67655"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga53cde20e8d454f0c29900930ea0dae90"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga53cde20e8d454f0c29900930ea0dae90">XCsiSs_Callback</a>) (void *CallbackRef, u32 Mask)</td></tr>
<tr class="memdesc:ga53cde20e8d454f0c29900930ea0dae90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type which acts as a wrapper on top of CSI Callback.  <a href="#ga53cde20e8d454f0c29900930ea0dae90">More...</a><br /></td></tr>
<tr class="separator:ga53cde20e8d454f0c29900930ea0dae90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8fde229b1ad93697e0cf3f1710b2db7e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga8fde229b1ad93697e0cf3f1710b2db7e">XCsiSs_CfgInitialize</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr, <a class="el" href="struct_x_csi_ss___config.html">XCsiSs_Config</a> *CfgPtr, UINTPTR EffectiveAddr)</td></tr>
<tr class="memdesc:ga8fde229b1ad93697e0cf3f1710b2db7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the MIPI CSI subsystem and included sub-cores.  <a href="#ga8fde229b1ad93697e0cf3f1710b2db7e">More...</a><br /></td></tr>
<tr class="separator:ga8fde229b1ad93697e0cf3f1710b2db7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b35fe38bf1b55eb8107f892caf67103"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga3b35fe38bf1b55eb8107f892caf67103">XCsiSs_Configure</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr, u8 ActiveLanes, u32 IntrMask)</td></tr>
<tr class="memdesc:ga3b35fe38bf1b55eb8107f892caf67103"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to configure the CSI lanes and interrupts that are to be handled by the application.  <a href="#ga3b35fe38bf1b55eb8107f892caf67103">More...</a><br /></td></tr>
<tr class="separator:ga3b35fe38bf1b55eb8107f892caf67103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf30fdaf13ba08d8612f8e20ab21d8ff2"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#gaf30fdaf13ba08d8612f8e20ab21d8ff2">XCsiSs_Activate</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr, u8 Flag)</td></tr>
<tr class="memdesc:gaf30fdaf13ba08d8612f8e20ab21d8ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to activate the CSI Subsystem.  <a href="#gaf30fdaf13ba08d8612f8e20ab21d8ff2">More...</a><br /></td></tr>
<tr class="separator:gaf30fdaf13ba08d8612f8e20ab21d8ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0436d17627c2acd4ed542efbbb584fab"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga0436d17627c2acd4ed542efbbb584fab">XCsiSs_Reset</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga0436d17627c2acd4ed542efbbb584fab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to reset the CSI Subsystem.  <a href="#ga0436d17627c2acd4ed542efbbb584fab">More...</a><br /></td></tr>
<tr class="separator:ga0436d17627c2acd4ed542efbbb584fab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c63d232d9c7c19a7206fe10d5713509"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga3c63d232d9c7c19a7206fe10d5713509">XCsiSs_ReportCoreInfo</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga3c63d232d9c7c19a7206fe10d5713509"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reports list of cores included.  <a href="#ga3c63d232d9c7c19a7206fe10d5713509">More...</a><br /></td></tr>
<tr class="separator:ga3c63d232d9c7c19a7206fe10d5713509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad50495d88d4013368ccf7886554cfbe4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#gad50495d88d4013368ccf7886554cfbe4">XCsiSs_GetShortPacket</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:gad50495d88d4013368ccf7886554cfbe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the short packets.  <a href="#gad50495d88d4013368ccf7886554cfbe4">More...</a><br /></td></tr>
<tr class="separator:gad50495d88d4013368ccf7886554cfbe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32e53cbe89a9acc42816e016c39e1cd6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga32e53cbe89a9acc42816e016c39e1cd6">XCsiSs_GetLaneInfo</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga32e53cbe89a9acc42816e016c39e1cd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the clk and data lane info.  <a href="#ga32e53cbe89a9acc42816e016c39e1cd6">More...</a><br /></td></tr>
<tr class="separator:ga32e53cbe89a9acc42816e016c39e1cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5010fb2ee6d104be8fd63de6f2ff5ba1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga5010fb2ee6d104be8fd63de6f2ff5ba1">XCsiSs_GetVCInfo</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga5010fb2ee6d104be8fd63de6f2ff5ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the virtual channel information.  <a href="#ga5010fb2ee6d104be8fd63de6f2ff5ba1">More...</a><br /></td></tr>
<tr class="separator:ga5010fb2ee6d104be8fd63de6f2ff5ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff8115edc1de28ca0524d489e736480c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_csi_ss___config.html">XCsiSs_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#gaff8115edc1de28ca0524d489e736480c">XCsiSs_LookupConfig</a> (u32 DeviceId)</td></tr>
<tr class="memdesc:gaff8115edc1de28ca0524d489e736480c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function looks for the device configuration based on the unique device ID.  <a href="#gaff8115edc1de28ca0524d489e736480c">More...</a><br /></td></tr>
<tr class="separator:gaff8115edc1de28ca0524d489e736480c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga138571d7c16631b9c6166a297e2b06d4"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga138571d7c16631b9c6166a297e2b06d4">XCsiSs_SelfTest</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga138571d7c16631b9c6166a297e2b06d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs self test on MIPI CSI Rx Subsystem sub-cores.  <a href="#ga138571d7c16631b9c6166a297e2b06d4">More...</a><br /></td></tr>
<tr class="separator:ga138571d7c16631b9c6166a297e2b06d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7144ae932dcf2ddf7ad15e7ec7565bba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga7144ae932dcf2ddf7ad15e7ec7565bba">XCsiSs_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:ga7144ae932dcf2ddf7ad15e7ec7565bba"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the MIPI CSI Rx Subsystem.  <a href="#ga7144ae932dcf2ddf7ad15e7ec7565bba">More...</a><br /></td></tr>
<tr class="separator:ga7144ae932dcf2ddf7ad15e7ec7565bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac9801ecbee587a1672c26177a1613b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#gaac9801ecbee587a1672c26177a1613b7">XCsiSs_IntrDisable</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr, u32 IntrMask)</td></tr>
<tr class="memdesc:gaac9801ecbee587a1672c26177a1613b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to disable the interrupts in the CSI core.  <a href="#gaac9801ecbee587a1672c26177a1613b7">More...</a><br /></td></tr>
<tr class="separator:gaac9801ecbee587a1672c26177a1613b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga806675fd5dc154656f12869b549e916a"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csiss__v1__0.html#ga806675fd5dc154656f12869b549e916a">XCsiSs_SetCallBack</a> (<a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)</td></tr>
<tr class="memdesc:ga806675fd5dc154656f12869b549e916a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine installs an asynchronous callback function for the given HandlerType:  <a href="#ga806675fd5dc154656f12869b549e916a">More...</a><br /></td></tr>
<tr class="separator:ga806675fd5dc154656f12869b549e916a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupt Types for setting Callbacks</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp167e8ff43204a7fafa6218db9934485d"></a>These handlers are used to determine the type of the interrupt handler being registered with the MIPI CSI Rx Subsystem.</p>
<p>Since the subsystem is tightly coupled with the CSI Rx Controller driver, the handlers from the sub core are promoted to the subsystem level so that the application can use them. </p>
</td></tr>
<tr class="memitem:ga53356b306356767cefeaf05e43ba2a47"><td class="memItemLeft" align="right" valign="top"><a id="ga53356b306356767cefeaf05e43ba2a47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_DPHY</b>&#160;&#160;&#160;XCSI_HANDLER_DPHY</td></tr>
<tr class="separator:ga53356b306356767cefeaf05e43ba2a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1dacf88dceb02a2bcea4d22db0be172"><td class="memItemLeft" align="right" valign="top"><a id="gae1dacf88dceb02a2bcea4d22db0be172"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_PKTLVL</b>&#160;&#160;&#160;XCSI_HANDLER_PKTLVL</td></tr>
<tr class="separator:gae1dacf88dceb02a2bcea4d22db0be172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga588141443e5e5a736ab4a1e587a24c18"><td class="memItemLeft" align="right" valign="top"><a id="ga588141443e5e5a736ab4a1e587a24c18"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_PROTLVL</b>&#160;&#160;&#160;XCSI_HANDLER_PROTLVL</td></tr>
<tr class="separator:ga588141443e5e5a736ab4a1e587a24c18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3aa9904ba0c7226e75d76b081fad2227"><td class="memItemLeft" align="right" valign="top"><a id="ga3aa9904ba0c7226e75d76b081fad2227"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_SHORTPACKET</b>&#160;&#160;&#160;XCSI_HANDLER_SHORTPACKET</td></tr>
<tr class="separator:ga3aa9904ba0c7226e75d76b081fad2227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf42ad16219ba496bfff1046148b991b"><td class="memItemLeft" align="right" valign="top"><a id="gaaf42ad16219ba496bfff1046148b991b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_FRAMERECVD</b>&#160;&#160;&#160;XCSI_HANDLER_FRAMERECVD</td></tr>
<tr class="separator:gaaf42ad16219ba496bfff1046148b991b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab328d5c18b0ac9745bea6bf8b381f571"><td class="memItemLeft" align="right" valign="top"><a id="gab328d5c18b0ac9745bea6bf8b381f571"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_HANDLER_OTHERERROR</b>&#160;&#160;&#160;XCSI_HANDLER_OTHERERROR</td></tr>
<tr class="separator:gab328d5c18b0ac9745bea6bf8b381f571"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Bitmasks for interrupt callbacks</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp89c59901e975fcd163f1d7b8d241711e"></a>Please refer to CSI driver for details of the bitmasks.</p>
<p>The application should use the XCSISS_ISR* masks in the call back functions to decode the exact cause of interrupt and handle it accordingly. </p>
</td></tr>
<tr class="memitem:ga8f8237300beb47d58ede04d26117b4fd"><td class="memItemLeft" align="right" valign="top"><a id="ga8f8237300beb47d58ede04d26117b4fd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_FR_MASK</b>&#160;&#160;&#160;XCSI_ISR_FR_MASK</td></tr>
<tr class="separator:ga8f8237300beb47d58ede04d26117b4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7e569e792ef8ac151c20a6e9e7a6467"><td class="memItemLeft" align="right" valign="top"><a id="gad7e569e792ef8ac151c20a6e9e7a6467"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_WC_MASK</b>&#160;&#160;&#160;XCSI_ISR_WC_MASK</td></tr>
<tr class="separator:gad7e569e792ef8ac151c20a6e9e7a6467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae72c8dcab9811b90f49d85665ecf50a0"><td class="memItemLeft" align="right" valign="top"><a id="gae72c8dcab9811b90f49d85665ecf50a0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_ILC_MASK</b>&#160;&#160;&#160;XCSI_ISR_ILC_MASK</td></tr>
<tr class="separator:gae72c8dcab9811b90f49d85665ecf50a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0414faa7b9e95108e7b95f37527bb45"><td class="memItemLeft" align="right" valign="top"><a id="gac0414faa7b9e95108e7b95f37527bb45"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_SPFIFOF_MASK</b>&#160;&#160;&#160;XCSI_ISR_SPFIFOF_MASK</td></tr>
<tr class="separator:gac0414faa7b9e95108e7b95f37527bb45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac74fbede78af81e79e928c1bbc7de0df"><td class="memItemLeft" align="right" valign="top"><a id="gac74fbede78af81e79e928c1bbc7de0df"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_SPFIFONE_MASK</b>&#160;&#160;&#160;XCSI_ISR_SPFIFONE_MASK</td></tr>
<tr class="separator:gac74fbede78af81e79e928c1bbc7de0df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad41de3c57ccaed7151ed204bef0a1726"><td class="memItemLeft" align="right" valign="top"><a id="gad41de3c57ccaed7151ed204bef0a1726"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_SLBF_MASK</b>&#160;&#160;&#160;XCSI_ISR_SLBF_MASK</td></tr>
<tr class="separator:gad41de3c57ccaed7151ed204bef0a1726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5c93def3231395c87e3fa8db341c669"><td class="memItemLeft" align="right" valign="top"><a id="gaf5c93def3231395c87e3fa8db341c669"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_STOP_MASK</b>&#160;&#160;&#160;XCSI_ISR_STOP_MASK</td></tr>
<tr class="separator:gaf5c93def3231395c87e3fa8db341c669"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad39acf7de75b04fdaa9103255b7ec1ae"><td class="memItemLeft" align="right" valign="top"><a id="gad39acf7de75b04fdaa9103255b7ec1ae"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_SOTERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_SOTERR_MASK</td></tr>
<tr class="separator:gad39acf7de75b04fdaa9103255b7ec1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1046e13174db8874980137136561bd45"><td class="memItemLeft" align="right" valign="top"><a id="ga1046e13174db8874980137136561bd45"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_SOTSYNCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_SOTSYNCERR_MASK</td></tr>
<tr class="separator:ga1046e13174db8874980137136561bd45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39f76c82207b70d8a8329e033766bdd2"><td class="memItemLeft" align="right" valign="top"><a id="ga39f76c82207b70d8a8329e033766bdd2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_ECC2BERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_ECC2BERR_MASK</td></tr>
<tr class="separator:ga39f76c82207b70d8a8329e033766bdd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga249ea37757a025d0cd26b10df659b088"><td class="memItemLeft" align="right" valign="top"><a id="ga249ea37757a025d0cd26b10df659b088"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_ECC1BERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_ECC1BERR_MASK</td></tr>
<tr class="separator:ga249ea37757a025d0cd26b10df659b088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08908e267a8b39b7978a2bd1634fef68"><td class="memItemLeft" align="right" valign="top"><a id="ga08908e267a8b39b7978a2bd1634fef68"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_CRCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_CRCERR_MASK</td></tr>
<tr class="separator:ga08908e267a8b39b7978a2bd1634fef68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bf107c3487a384ec138ab34338203f8"><td class="memItemLeft" align="right" valign="top"><a id="ga7bf107c3487a384ec138ab34338203f8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_DATAIDERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_DATAIDERR_MASK</td></tr>
<tr class="separator:ga7bf107c3487a384ec138ab34338203f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga061e0c17ae7c29c616ff6aded4d8d9de"><td class="memItemLeft" align="right" valign="top"><a id="ga061e0c17ae7c29c616ff6aded4d8d9de"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC3FSYNCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC3FSYNCERR_MASK</td></tr>
<tr class="separator:ga061e0c17ae7c29c616ff6aded4d8d9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab29a749ff7426fc7eb2e8ae0597979f6"><td class="memItemLeft" align="right" valign="top"><a id="gab29a749ff7426fc7eb2e8ae0597979f6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC3FLVLERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC3FLVLERR_MASK</td></tr>
<tr class="separator:gab29a749ff7426fc7eb2e8ae0597979f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3902a10c404c28b6ab7bfc452596e1dc"><td class="memItemLeft" align="right" valign="top"><a id="ga3902a10c404c28b6ab7bfc452596e1dc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC2FSYNCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC2FSYNCERR_MASK</td></tr>
<tr class="separator:ga3902a10c404c28b6ab7bfc452596e1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cb29c6eabad52c347087394bf75f3c8"><td class="memItemLeft" align="right" valign="top"><a id="ga0cb29c6eabad52c347087394bf75f3c8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC2FLVLERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC2FLVLERR_MASK</td></tr>
<tr class="separator:ga0cb29c6eabad52c347087394bf75f3c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec9dd5572edc73a7e8fd6cb08f053554"><td class="memItemLeft" align="right" valign="top"><a id="gaec9dd5572edc73a7e8fd6cb08f053554"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC1FSYNCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC1FSYNCERR_MASK</td></tr>
<tr class="separator:gaec9dd5572edc73a7e8fd6cb08f053554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12cc913a553f23ba5b40e737793ea099"><td class="memItemLeft" align="right" valign="top"><a id="ga12cc913a553f23ba5b40e737793ea099"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC1FLVLERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC1FLVLERR_MASK</td></tr>
<tr class="separator:ga12cc913a553f23ba5b40e737793ea099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2fa0a473e84d593ac3645077eae5be6"><td class="memItemLeft" align="right" valign="top"><a id="gaf2fa0a473e84d593ac3645077eae5be6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC0FSYNCERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC0FSYNCERR_MASK</td></tr>
<tr class="separator:gaf2fa0a473e84d593ac3645077eae5be6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae114f693825604ec59512721a8e0070e"><td class="memItemLeft" align="right" valign="top"><a id="gae114f693825604ec59512721a8e0070e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_VC0FLVLERR_MASK</b>&#160;&#160;&#160;XCSI_ISR_VC0FLVLERR_MASK</td></tr>
<tr class="separator:gae114f693825604ec59512721a8e0070e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf23dc8ba1af93a7c2ecccbe7c0ebe98e"><td class="memItemLeft" align="right" valign="top"><a id="gaf23dc8ba1af93a7c2ecccbe7c0ebe98e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_ISR_ALLINTR_MASK</b>&#160;&#160;&#160;XCSI_ISR_ALLINTR_MASK</td></tr>
<tr class="separator:gaf23dc8ba1af93a7c2ecccbe7c0ebe98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
BitMasks for grouped interrupts</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp05a58afcb94e243f2995b29d08288a2b"></a>All interrupts are grouped into DPHY Level Errors, Protocol Decoding Errors, Packet Level Errors, Normal Errors, Frame Received interrupt and Short Packet related.</p>
<p>These are used by application to determine the exact event causing the interrupt </p>
</td></tr>
<tr class="memitem:ga602cbdcb2f3d8b62da594fdedb34411c"><td class="memItemLeft" align="right" valign="top"><a id="ga602cbdcb2f3d8b62da594fdedb34411c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_PROT_MASK</b>&#160;&#160;&#160;XCSI_INTR_PROT_MASK</td></tr>
<tr class="separator:ga602cbdcb2f3d8b62da594fdedb34411c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga530b5b7d49f1c43a2f88b2f515221301"><td class="memItemLeft" align="right" valign="top"><a id="ga530b5b7d49f1c43a2f88b2f515221301"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_PKTLVL_MASK</b>&#160;&#160;&#160;XCSI_INTR_PKTLVL_MASK</td></tr>
<tr class="separator:ga530b5b7d49f1c43a2f88b2f515221301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaced83959479128b9dd908faf3ef3e328"><td class="memItemLeft" align="right" valign="top"><a id="gaced83959479128b9dd908faf3ef3e328"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_DPHY_MASK</b>&#160;&#160;&#160;XCSI_INTR_DPHY_MASK</td></tr>
<tr class="separator:gaced83959479128b9dd908faf3ef3e328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab396de50760301e866c31cf92847038a"><td class="memItemLeft" align="right" valign="top"><a id="gab396de50760301e866c31cf92847038a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_SPKT_MASK</b>&#160;&#160;&#160;XCSI_INTR_SPKT_MASK</td></tr>
<tr class="separator:gab396de50760301e866c31cf92847038a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab75d47ad5269320d2fcc911594f3c508"><td class="memItemLeft" align="right" valign="top"><a id="gab75d47ad5269320d2fcc911594f3c508"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_FRAMERCVD_MASK</b>&#160;&#160;&#160;XCSI_INTR_FRAMERCVD_MASK</td></tr>
<tr class="separator:gab75d47ad5269320d2fcc911594f3c508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1927b2f36c1c90d2e019ad1bb9b69525"><td class="memItemLeft" align="right" valign="top"><a id="ga1927b2f36c1c90d2e019ad1bb9b69525"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XCSISS_INTR_ERR_MASK</b>&#160;&#160;&#160;XCSI_INTR_ERR_MASK</td></tr>
<tr class="separator:ga1927b2f36c1c90d2e019ad1bb9b69525"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga9336fefaf232506ab252cf09c6c8a5b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9336fefaf232506ab252cf09c6c8a5b9">&#9670;&nbsp;</a></span>XCSISS_H_</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSISS_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>Prevent circular inclusions by using protection macros. </p>

</div>
</div>
<a id="ga49562e2263761ef244fa20e718e67655"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49562e2263761ef244fa20e718e67655">&#9670;&nbsp;</a></span>XCSISS_HW_H_</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSISS_HW_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss__hw_8h.html">xcsiss_hw.h</a>&gt;</code></p>

<p>Prevent circular inclusions by using protection macros. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga53cde20e8d454f0c29900930ea0dae90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga53cde20e8d454f0c29900930ea0dae90">&#9670;&nbsp;</a></span>XCsiSs_Callback</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XCsiSs_Callback) (void *CallbackRef, u32 Mask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>Callback type which acts as a wrapper on top of CSI Callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallbackRef</td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
    <tr><td class="paramname">Mask</td><td>is a bit mask indicating the cause of the event. For current core version, this parameter is "OR" of 0 or more XCSISS_ISR_*_MASK constants defined in <a class="el" href="xcsiss__hw_8h.html">xcsiss_hw.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaf30fdaf13ba08d8612f8e20ab21d8ff2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf30fdaf13ba08d8612f8e20ab21d8ff2">&#9670;&nbsp;</a></span>XCsiSs_Activate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_Activate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Flag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function is used to activate the CSI Subsystem. </p>
<p>Internally it activates the DPHY and CSI.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on. </td></tr>
    <tr><td class="paramname">Flag</td><td>is used to denote whether to enable or disable the subsystem</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS on successful operation</li>
<li>XST_FAILURE on failed operation</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#a9e11a24b49b049a215fe243afd1e9741">XCsiSs::Config</a>, <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, and <a class="el" href="struct_x_csi_ss___config.html#af96d74b947652a7cdd48c66eac494ecd">XCsiSs_Config::IsDphyRegIntfcPresent</a>.</p>

</div>
</div>
<a id="ga8fde229b1ad93697e0cf3f1710b2db7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8fde229b1ad93697e0cf3f1710b2db7e">&#9670;&nbsp;</a></span>XCsiSs_CfgInitialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss___config.html">XCsiSs_Config</a> *&#160;</td>
          <td class="paramname"><em>CfgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function initializes the MIPI CSI subsystem and included sub-cores. </p>
<p>This function must be called prior to using the subsystem. Initialization includes setting up the instance data for top level as well as all included sub-core therein, and ensuring the hardware is in a known stable state.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on. </td></tr>
    <tr><td class="paramname">CfgPtr</td><td>points to the configuration structure associated with the subsystem instance. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization is successful</li>
<li>XST_FAILURE, otherwise</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss___config.html#accf7178f1f7fc0ba40fee2e61ca159bc">XCsiSs_Config::BaseAddr</a>, and <a class="el" href="struct_x_csi_ss.html#a9e11a24b49b049a215fe243afd1e9741">XCsiSs::Config</a>.</p>

<p class="reference">Referenced by <a class="el" href="xcsiss__selftest__example_8c.html#a670a4c28d6e2f3b6341f0f261a7a1835">CsiSs_SelfTestExample()</a>.</p>

</div>
</div>
<a id="ga3b35fe38bf1b55eb8107f892caf67103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3b35fe38bf1b55eb8107f892caf67103">&#9670;&nbsp;</a></span>XCsiSs_Configure()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_Configure </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ActiveLanes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IntrMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function is used to configure the CSI lanes and interrupts that are to be handled by the application. </p>
<p>Refer to XCsi.h for interrupt masks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on. </td></tr>
    <tr><td class="paramname">ActiveLanes</td><td>is no of active lanes to be configure. This value ranges between 1 and 4. In case Dynamic Active Lane config is enabled, this value can't exceed maximum lanes present. When Dynamic Active Lane config is disabled, it should be equal to maximum lanes. </td></tr>
    <tr><td class="paramname">IntrMask</td><td>Indicates Mask for enable interrupts.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS on successful configuration of parameters<ul>
<li>XST_FAILURE otherwise</li>
</ul>
</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>When EnableActiveLanes is 0, then the ActiveLanes parameter passed should be equal to Max Lanes of design. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>.</p>

</div>
</div>
<a id="ga32e53cbe89a9acc42816e016c39e1cd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32e53cbe89a9acc42816e016c39e1cd6">&#9670;&nbsp;</a></span>XCsiSs_GetLaneInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_GetLaneInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function gets the clk and data lane info. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#abfd37924d61fd89f9d28a72b6dec078a">XCsiSs::ClkInfo</a>, <a class="el" href="struct_x_csi_ss.html#a9e11a24b49b049a215fe243afd1e9741">XCsiSs::Config</a>, <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, <a class="el" href="struct_x_csi_ss.html#ac5382f051411f3c32fa226df7a4a6890">XCsiSs::DLInfo</a>, and <a class="el" href="struct_x_csi_ss___config.html#a161805ed2b55c724c987115b5c0b376a">XCsiSs_Config::LanesPresent</a>.</p>

</div>
</div>
<a id="gad50495d88d4013368ccf7886554cfbe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad50495d88d4013368ccf7886554cfbe4">&#9670;&nbsp;</a></span>XCsiSs_GetShortPacket()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_GetShortPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function gets the short packets. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, and <a class="el" href="struct_x_csi_ss.html#a9f94784dc621d2cf0213645392f2e877">XCsiSs::SpktData</a>.</p>

</div>
</div>
<a id="ga5010fb2ee6d104be8fd63de6f2ff5ba1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5010fb2ee6d104be8fd63de6f2ff5ba1">&#9670;&nbsp;</a></span>XCsiSs_GetVCInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_GetVCInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function gets the virtual channel information. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, and <a class="el" href="struct_x_csi_ss.html#ae44557c21f321a56b6c1ca9dbd9e202e">XCsiSs::VCInfo</a>.</p>

</div>
</div>
<a id="gaac9801ecbee587a1672c26177a1613b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac9801ecbee587a1672c26177a1613b7">&#9670;&nbsp;</a></span>XCsiSs_IntrDisable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_IntrDisable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IntrMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>This function is used to disable the interrupts in the CSI core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on. </td></tr>
    <tr><td class="paramname">IntrMask</td><td>Indicates Mask for enable interrupts.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>.</p>

</div>
</div>
<a id="ga7144ae932dcf2ddf7ad15e7ec7565bba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7144ae932dcf2ddf7ad15e7ec7565bba">&#9670;&nbsp;</a></span>XCsiSs_IntrHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_IntrHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>This function is the interrupt handler for the MIPI CSI Rx Subsystem. </p>
<p>The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="group__csiss__v1__0.html#ga806675fd5dc154656f12869b549e916a" title="This routine installs an asynchronous callback function for the given HandlerType: ...">XCsiSs_SetCallBack()</a> during initialization phase.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_csi_ss.html" title="The XCsiSs driver instance data. ">XCsiSs</a> core instance that just interrupted.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>.</p>

</div>
</div>
<a id="gaff8115edc1de28ca0524d489e736480c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff8115edc1de28ca0524d489e736480c">&#9670;&nbsp;</a></span>XCsiSs_LookupConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_csi_ss___config.html">XCsiSs_Config</a> * XCsiSs_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>This function looks for the device configuration based on the unique device ID. </p>
<p>The table XCsiSs_ConfigTable[] contains the configuration information for each instance of the device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the unique device ID of the device being looked up</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration table entry corresponding to the given device ID, or NULL if no match is found</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="xcsiss__selftest__example_8c.html#a670a4c28d6e2f3b6341f0f261a7a1835">CsiSs_SelfTestExample()</a>.</p>

</div>
</div>
<a id="ga3c63d232d9c7c19a7206fe10d5713509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c63d232d9c7c19a7206fe10d5713509">&#9670;&nbsp;</a></span>XCsiSs_ReportCoreInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCsiSs_ReportCoreInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function reports list of cores included. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#a9e11a24b49b049a215fe243afd1e9741">XCsiSs::Config</a>, <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, and <a class="el" href="struct_x_csi_ss___config.html#af96d74b947652a7cdd48c66eac494ecd">XCsiSs_Config::IsDphyRegIntfcPresent</a>.</p>

</div>
</div>
<a id="ga0436d17627c2acd4ed542efbbb584fab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0436d17627c2acd4ed542efbbb584fab">&#9670;&nbsp;</a></span>XCsiSs_Reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_Reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8c.html">xcsiss.c</a>&gt;</code></p>

<p>This function is used to reset the CSI Subsystem. </p>
<p>Internally it resets the DPHY and CSI only as the IIC instance is separately handled by the application.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Subsystem instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if all the sub core IP resets occur correctly</li>
<li>XST_FAILURE if reset fails for any sub core IP fails</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>.</p>

</div>
</div>
<a id="ga138571d7c16631b9c6166a297e2b06d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga138571d7c16631b9c6166a297e2b06d4">&#9670;&nbsp;</a></span>XCsiSs_SelfTest()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>This function performs self test on MIPI CSI Rx Subsystem sub-cores. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_csi_ss.html" title="The XCsiSs driver instance data. ">XCsiSs</a> core instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if self test passed.</li>
<li>XST_FAILURE if self test failed.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>.</p>

<p class="reference">Referenced by <a class="el" href="xcsiss__selftest__example_8c.html#a670a4c28d6e2f3b6341f0f261a7a1835">CsiSs_SelfTestExample()</a>.</p>

</div>
</div>
<a id="ga806675fd5dc154656f12869b549e916a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga806675fd5dc154656f12869b549e916a">&#9670;&nbsp;</a></span>XCsiSs_SetCallBack()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCsiSs_SetCallBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_csi_ss.html">XCsiSs</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>HandlerType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xcsiss_8h.html">xcsiss.h</a>&gt;</code></p>

<p>This routine installs an asynchronous callback function for the given HandlerType: </p>
<pre>
HandlerType                Invoked by this driver when:
-------------------------  --------------------------------------------------
XCSISS_HANDLER_DPHY        A DPHY Level Error has been detected.
XCSISS_HANDLER_PROTLVL     A Protocol Level Error has been detected.
XCSISS_HANDLER_PKTLVL      A Packet Level Error has been detected.
XCSISS_HANDLER_SHORTPACKET A Short packet has been received or the
                           Short Packet FIFO is full.
XCSISS_HANDLER_FRAMERECVD  A Frame has been received
XCSISS_HANDLER_OTHERERROR  Any other type of interrupt has occured like
                           Stream Line Buffer Full, Incorrect Lanes, etc
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the XCsi instance to operate on </td></tr>
    <tr><td class="paramname">HandlerType</td><td>is the type of call back to be registered. </td></tr>
    <tr><td class="paramname">CallbackFunc</td><td>is the pointer to a call back funtion which is called when a particular event occurs. </td></tr>
    <tr><td class="paramname">CallbackRef</td><td>is a void pointer to data to be referenced to by the CallBackFunc</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS when handler is installed.</li>
<li>XST_INVALID_PARAM when HandlerType is invalid.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_csi_ss.html#ac471108e61ceee6dda85fa7de9b2eb09">XCsiSs::CsiPtr</a>, and <a class="el" href="struct_x_csi_ss.html#abdfbd85e6c88f0713868de83c79706ed">XCsiSs::IsReady</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
